package com.tong.hao.ac.api.configuration;

import com.tong.hao.ac.api.feign.FeignConf;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @ClassName GenericConf
 * @Author 友野浩二
 * @Description 通用配置类
 * @Version 1.0
 *
 * <pre>
 *     @Configuration :
 *          从Spring3.0，用于定义配置类，可替换xml配置文件。
 *          被注解的类内部包含有一个或多个被@Bean注解的方法，
 *          这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描，并用于构建bean定义，初始化Spring容器。
 * </pre>
 */
@Configuration
@Slf4j
public class GenericConf {

    public GenericConf() {
        log.info("AC Spring boot启动时创建com.tong.hao.ac.api.configuration.GenericConf.GenericConf对象");
    }

    @ConfigurationProperties(prefix = "feign")
    @Bean(name = {"feignConf"}, initMethod = "init")
    public FeignConf feignConf() {
        return new FeignConf();
    }

}
